An application that physically executes on a server may have a user interface that is viewed on a client. When a user interacts with the user interface on the client, data regarding the interaction may be sent to the server for processing. The server may then present the data to the application. The application may respond to the data and change the user interface as appropriate. The updated user interface may then be sent to the client for display. This interaction may be transparent to the user such that the remote application appears much like a local application.
Through the interaction above, the remote application may execute another application on the server. For example, the user may select a hyperlink that causes a browser to be launched on the server. For security and other reasons, this type of behavior may be undesirable.